package com.gopay.common.domain.entrust;

import com.gopay.common.domain.BaseEntity;

import javax.persistence.*;
import java.util.Date;

/**
 * 委托授权签约实体类
 * @EntrustContractInfo.java
 * @author zhuliang
 * @2016年12月22日 下午17:42:48  www.gopay.com.cn Inc.All rights reserved.
 */
@Entity
@Table(name = "ENTRUST_CONTRACT_INFO")
public class EntrustContractInfo extends BaseEntity{


    private static final long serialVersionUID = 1366817998755877082L;

    /**
     * 委托授权签约主键
     */
    @Id
    @SequenceGenerator(name = "ENTRUST_CONTRACT_INFO_SEQ_GENERATOR", sequenceName = "ENTRUST_CONTRACT_INFO_SEQ", allocationSize = 1)
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "ENTRUST_CONTRACT_INFO_SEQ_GENERATOR")
    @Column(name = "ID")
    private Long id;

	/**
	 * 鉴权编号
	 */
    @Column(name = "CARD_AUTH_NO", nullable = false, length = 30)
    private String cardAuthNo;

	/**
	 * 商户CUST_ID
	 */
	@Column(name="MER_ID")
	private String merId;
	
//	/**
//	 * 商户订单号
//	 */
//	@Column(name="MER_ORDER_ID")
//	private String merOrderId;

	/**
	 * 商户的国付宝账户号
	 */
	@Column(name="MER_ACCT")
	private String merAcct;
	
	/**
	 * 委托授权签约编号
	 */
	@Column(name="CONTRACT_NO",length = 30)
	private String contractNo;
	

	/**
	 * 委托授权签约状态
	 */
	@Column(name="CONTRACT_STAT", length = 2)
	private String contractStat;
	
	

	/**
	 * 授权申请交易时间(重发时更新)
	 */
	@Column(name="CONTRACT_APPLY_TM")
	private Date contractApplyTm;
	
	/**
	 * 授权申请国付宝服务器时间(重发时更新)
	 */
	@Column(name="APPLY_GOPAY_TXN_TM")
	private Date applyGopayTxnTm;
	

	/**
	 * 授权确认交易时间
	 */
	@Column(name="CONTRACT_FINSH_TM")
	private Date contractFinshTm;
	
	/**
	 * 授权确认国付宝服务器时间
	 */
	@Column(name="FINSH_GOPAY_TXN_TM")
	private Date finshGopayTxnTm;
	

	/**
	 * 备注
	 */
	@Column(name="REMARK", length = 200)
	private String remark;

	/**
	 * 创建人
	 */
	@Column(name="CREATE_OPER_ID")
	private String createOperId;
	
	/**
	 * 创建时间
	 */
	@Column(name="CREATED_TS")
	private Date createdTs;

	/**
	 * 最后修改人
	 */
	@Column(name="LAST_UPD_OPER_ID")
	private String lastUpdOperId;
	
	/**
	 * 最后修改时间
	 */
	@Column(name="LAST_UPD_TS")
	private Date lastUpdTs;
	
	/**
	 * 乐观锁版本号
	 */
	@Column(name="VERSION")
	private Integer version;
	
	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getCardAuthNo() {
		return cardAuthNo;
	}

	public void setCardAuthNo(String cardAuthNo) {
		this.cardAuthNo = cardAuthNo;
	}

	public String getMerId() {
		return merId;
	}

	public void setMerId(String merId) {
		this.merId = merId;
	}
//
//	public String getMerOrderId() {
//		return merOrderId;
//	}
//
//	public void setMerOrderId(String merOrderId) {
//		this.merOrderId = merOrderId;
//	}

	public String getMerAcct() {
		return merAcct;
	}

	public void setMerAcct(String merAcct) {
		this.merAcct = merAcct;
	}

	public String getContractNo() {
		return contractNo;
	}

	public void setContractNo(String contractNo) {
		this.contractNo = contractNo;
	}

	public String getContractStat() {
		return contractStat;
	}

	public void setContractStat(String contractStat) {
		this.contractStat = contractStat;
	}


	public Date getContractApplyTm() {
		return contractApplyTm;
	}

	public void setContractApplyTm(Date contractApplyTm) {
		this.contractApplyTm = contractApplyTm;
	}

	public Date getApplyGopayTxnTm() {
		return applyGopayTxnTm;
	}

	public void setApplyGopayTxnTm(Date applyGopayTxnTm) {
		this.applyGopayTxnTm = applyGopayTxnTm;
	}
	public Date getContractFinshTm() {
		return contractFinshTm;
	}

	public void setContractFinshTm(Date contractFinshTm) {
		this.contractFinshTm = contractFinshTm;
	}

	public Date getFinshGopayTxnTm() {
		return finshGopayTxnTm;
	}

	public void setFinshGopayTxnTm(Date finshGopayTxnTm) {
		this.finshGopayTxnTm = finshGopayTxnTm;
	}

	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

	public String getCreateOperId() {
		return createOperId;
	}

	public void setCreateOperId(String createOperId) {
		this.createOperId = createOperId;
	}

	public Date getCreatedTs() {
		return createdTs;
	}

	public void setCreatedTs(Date createdTs) {
		this.createdTs = createdTs;
	}

	public String getLastUpdOperId() {
		return lastUpdOperId;
	}

	public void setLastUpdOperId(String lastUpdOperId) {
		this.lastUpdOperId = lastUpdOperId;
	}

	public Date getLastUpdTs() {
		return lastUpdTs;
	}

	public void setLastUpdTs(Date lastUpdTs) {
		this.lastUpdTs = lastUpdTs;
	}

	public Integer getVersion() {
		return version;
	}

	public void setVersion(Integer version) {
		this.version = version;
	}


}
